﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class РасчетПриУвольненииРаботникаОрганизацийДополнительный
	{
		// По строке выборки результата запроса по документу формируем движения по регистрам
		//
		// Параметры:
		//	ВыборкаПоШапкеДокумента						- выборка из результата запроса по шапке документа
		//
		// Возвращаемое значение:
		//	Нет.
		//

		public void ДобавитьСтрокуВДвиженияПоРегистрамНакопления(/*ДокументОбъект, ВыборкаПоШапкеДокумента, ВыборкаПоСтрокамДокумента*/)
		{
			//Движения = ДокументОбъект.Движения;
			if(true/*ЗначениеЗаполнено(ВыборкаПоСтрокамДокумента.КодДоходаНДФЛ)*/)
			{
				//Движение = Движения.НДФЛСведенияОДоходах.Добавить();
				//ЗаполнитьЗначенияСвойств(Движение,ВыборкаПоШапкеДокумента);
				/*// ФизЛицо, Организация, ОбособленноеПодразделение, ПодразделениеОрганизации
*/
				//ЗаполнитьЗначенияСвойств(Движение,ВыборкаПоСтрокамДокумента);
				/*// ВидРасчета
*/
				/*// Свойства
*/
				//Движение.Период						= ВыборкаПоШапкеДокумента.ПериодРегистрации;
				/*// Измерения
*/
				//Движение.КодДохода					= ВыборкаПоСтрокамДокумента.КодДоходаНДФЛ;
				//Движение.ПериодРегистрации			= НачалоМесяца(ВыборкаПоШапкеДокумента.ПериодРегистрации);
				/*// Ресурсы
*/
				//Движение.СуммаДохода				= ВыборкаПоСтрокамДокумента.Результат;
				/*// Реквизиты
*/
				//Движение.ИсчисленоИзЗарплаты		= Истина;
			}
			//Движение = Движения.ВзаиморасчетыСРаботникамиОрганизаций.Добавить();
			/*// Свойства
*/
			//Движение.Период						= КонецМесяца(ВыборкаПоШапкеДокумента.ПериодРегистрации);
			//Движение.ВидДвижения				= ВидДвиженияНакопления.Приход;
			/*// Измерения
*/
			//Движение.Организация				= ВыборкаПоШапкеДокумента.ОбособленноеПодразделение;
			//Движение.ФизЛицо					= ВыборкаПоШапкеДокумента.ФизЛицо;
			//Движение.ПериодВзаиморасчетов		= ВыборкаПоШапкеДокумента.ПериодРегистрации;
			/*// Ресурсы
*/
			if(true/*ВыборкаПоСтрокамДокумента.ВидРасчета = ПланыВидовРасчета.УдержанияОрганизаций.УдержаниеЗаНеотработанныйОтпускКалендарныеДни ИЛИ
		ВыборкаПоСтрокамДокумента.ВидРасчета = ПланыВидовРасчета.УдержанияОрганизаций.УдержаниеЗаНеотработанныйОтпускШестидневка*/)
			{
				//Движение.СуммаВзаиморасчетов	= -ВыборкаПоСтрокамДокумента.Результат;
			}
		}
		// ДобавитьСтрокуВДвиженияПоРегистрамНакопления()
		// Формирует запрос по шапке документа для целей вывода документа на печать
		//
		// Возвращаемое значение:
		//	Результат запроса
		//

		public object СформироватьЗапросПоШапкеДляПечати(/*ДокументОбъект*/)
		{
			//Запрос = Новый Запрос;
			/*// Установим параметры запроса
*/
			//Запрос.УстановитьПараметр("Ссылка",					ДокументОбъект.Ссылка);
			//Запрос.УстановитьПараметр("ДатаУвольнения",			ДокументОбъект.ДатаУвольнения);
			//Запрос.УстановитьПараметр("Сотрудник",				ДокументОбъект.Сотрудник);
			//Запрос.УстановитьПараметр("Физлицо",				ДокументОбъект.Сотрудник.Физлицо);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	РасчетПриУвольненииРаботникаОрганизации.Номер КАК НомерДокумента,
	|	РасчетПриУвольненииРаботникаОрганизации.Дата КАК ДатаДокумента,
	|	РасчетПриУвольненииРаботникаОрганизации.Организация.КодПоОКПО КАК КодПоОКПО,
	|	РасчетПриУвольненииРаботникаОрганизации.Организация.НаименованиеПолное КАК НазваниеОрганизации,
	|	РасчетПриУвольненииРаботникаОрганизации.Сотрудник,
	|	РасчетПриУвольненииРаботникаОрганизации.ДатаУвольнения,
	|	РасчетПриУвольненииРаботникаОрганизации.ДнейЧасовВыходногоПособия,
	|	РасчетПриУвольненииРаботникаОрганизации.ДнейЧасовСохраненияСреднегоЗаработка,
	|	РасчетПриУвольненииРаботникаОрганизации.ДнейЧасовКомпенсацииУдержанияОтпуска,
	|	ВЫБОР
	|		КОГДА РасчетПриУвольненииРаботникаОрганизации.ПризнакКомпенсацииОтпуска
	|			ТОГДА РасчетПриУвольненииРаботникаОрганизации.ДнейЧасовКомпенсацииУдержанияОтпуска
	|		ИНАЧЕ 0
	|	КОНЕЦ КАК ДнейКомпенсации,
	|	ВЫБОР
	|		КОГДА РасчетПриУвольненииРаботникаОрганизации.ПризнакКомпенсацииОтпуска
	|			ТОГДА 0
	|		ИНАЧЕ РасчетПриУвольненииРаботникаОрганизации.ДнейЧасовКомпенсацииУдержанияОтпуска
	|	КОНЕЦ КАК ДнейУдержания,
	|	РасчетПриУвольненииРаботникаОрганизации.ПризнакКомпенсацииОтпуска,
	|	РасчетПриУвольненииРаботникаОрганизации.РабочийГодС,
	|	РасчетПриУвольненииРаботникаОрганизации.РабочийГодПо,
	|	РасчетПриУвольненииРаботникаОрганизации.ПорядокРасчетаОтпуска,
	|	ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + "" "" + ФИОФизЛицСрезПоследних.Имя + "" "" + ФИОФизЛицСрезПоследних.Отчество, РасчетПриУвольненииРаботникаОрганизации.Сотрудник.Наименование) КАК ФИО,
	|	ВЫБОР
	|		КОГДА РаботникиОрганизацииСрезПоследних.ПериодЗавершения <= &ДатаУвольнения
	|				И РаботникиОрганизацииСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА РаботникиОрганизацииСрезПоследних.ПодразделениеОрганизацииЗавершения
	|		ИНАЧЕ РаботникиОрганизацииСрезПоследних.ПодразделениеОрганизации
	|	КОНЕЦ КАК Подразделение,
	|	ВЫБОР
	|		КОГДА РаботникиОрганизацииСрезПоследних.ПериодЗавершения <= &ДатаУвольнения
	|				И РаботникиОрганизацииСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА РаботникиОрганизацииСрезПоследних.ДолжностьЗавершения
	|		ИНАЧЕ РаботникиОрганизацииСрезПоследних.Должность
	|	КОНЕЦ КАК Должность,
	|	РасчетПриУвольненииРаботникаОрганизации.ИспользоватьСреднеЧасовойЗаработок КАК ИспользоватьСреднеЧасовойЗаработок,
	|	РасчетПриУвольненииРаботникаОрганизации.Сотрудник.НомерДоговора КАК НомерДоговора,
	|	РасчетПриУвольненииРаботникаОрганизации.Сотрудник.ДатаДоговора КАК ДатаДоговора,
	|	УвольнениеИзОрганизацииРаботникиОрганизации.СтатьяТКРФ.Наименование КАК ОснованиеУвольнения,
	|	""№ "" + ЕСТЬNULL(РасчетПриУвольненииРаботникаОрганизации.ДокументОснование.Номер, ""_____________"") КАК ДокументОснованиеНомер,
	|	ЕСТЬNULL(РасчетПриУвольненииРаботникаОрганизации.ДокументОснование.Дата, ""____   __________20___ года"") КАК ДокументОснованиеДата,
	|	ВЫБОР
	|		КОГДА СтатусФизЛица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент)
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК НеЯвляетсяНалоговымРезидентомРФ,
	|	РасчетПриУвольненииРаботникаОрганизации.Организация.Префикс,
	|	РасчетПриУвольненииРаботникаОрганизации.Сотрудник.Код КАК ТабельныйНомер
	|ИЗ
	|	Документ.РасчетПриУвольненииРаботникаОрганизаций КАК РасчетПриУвольненииРаботникаОрганизации
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&ДатаУвольнения, ФизЛицо = &ФизЛицо) КАК ФИОФизЛицСрезПоследних
	|		ПО (ИСТИНА)
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ.СрезПоследних(&ДатаУвольнения, ФизЛицо = &ФизЛицо) КАК СтатусФизЛица
	|		ПО (ИСТИНА)
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаУвольнения, Сотрудник = &Сотрудник) КАК РаботникиОрганизацииСрезПоследних
	|		ПО (ИСТИНА)
	|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.УвольнениеИзОрганизаций.РаботникиОрганизации КАК УвольнениеИзОрганизацииРаботникиОрганизации
	|		ПО РасчетПриУвольненииРаботникаОрганизации.Сотрудник = УвольнениеИзОрганизацииРаботникиОрганизации.Сотрудник
	|ГДЕ
	|	РасчетПриУвольненииРаботникаОрганизации.Ссылка = &Ссылка";*/
			return null;
		}
		// СформироватьЗапросПоШапке()
		// Функция формирует табличный документ с печатной формой "Т-61",
		//
		// Возвращаемое значение:
		//	Табличный документ	- печатная форма
		//

		public object ПечатьТ61(/*ДокументОбъект*/)
		{
			/*// тексты запросов 
*/
			/*РасчетСреднегоЗаработкаТекст =
	"ВЫБРАТЬ
	|	ВЫБОР
	|		КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработок)
	|			ТОГДА 1
	|		КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработокНеиндексируемый)
	|			ТОГДА 2
	|		ИНАЧЕ 3
	|	КОНЕЦ КАК ПорядокЗаписей,
	|	СУММА(ВЫБОР
	|			КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработок)
	|					ИЛИ РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработокНеиндексируемый)
	|				ТОГДА РасчетСреднегоЗаработка.ОтработаноДней
	|			ИНАЧЕ 0
	|		КОНЕЦ) КАК ВсегоДнейРасчетногоПериода,
	|	СУММА(ВЫБОР
	|			КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработок)
	|					ИЛИ РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработокНеиндексируемый)
	|				ТОГДА РасчетСреднегоЗаработка.ОтработаноЧасов
	|			ИНАЧЕ 0
	|		КОНЕЦ) КАК ВсегоЧасовРасчетногоПериода,
	|	СУММА(ВЫБОР
	|			КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработок)
	|				ТОГДА РасчетСреднегоЗаработка.Результат * ВЫБОР
	|						КОГДА РасчетСреднегоЗаработка.КоэффициентИндексации < 1
	|							ТОГДА 1
	|						ИНАЧЕ РасчетСреднегоЗаработка.КоэффициентИндексации
	|					КОНЕЦ
	|			КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработокНеиндексируемый)
	|				ТОГДА РасчетСреднегоЗаработка.Результат
	|			КОГДА РасчетСреднегоЗаработка.ЧислоМесяцев = 0
	|				ТОГДА 0
	|			ИНАЧЕ ВЫБОР
	|					КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПоПремиям)
	|						ТОГДА РасчетСреднегоЗаработка.Результат * ВЫБОР
	|								КОГДА РасчетСреднегоЗаработка.КоэффициентИндексации < 1
	|									ТОГДА 1
	|								ИНАЧЕ РасчетСреднегоЗаработка.КоэффициентИндексации
	|							КОНЕЦ
	|					КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПоФиксПремиям)
	|						ТОГДА РасчетСреднегоЗаработка.Результат * ВЫБОР
	|								КОГДА РасчетСреднегоЗаработка.КоэффициентИндексации < 1
	|									ТОГДА 1
	|								ИНАЧЕ РасчетСреднегоЗаработка.КоэффициентИндексации
	|							КОНЕЦ * ВЫБОР
	|								КОГДА РасчетСреднегоЗаработка.НормаПоПятидневке = 0
	|									ТОГДА 0
	|								ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноПоПятидневке / РасчетСреднегоЗаработка.НормаПоПятидневке
	|							КОНЕЦ
	|					КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПоФиксПремиямНеИндексируемые)
	|						ТОГДА РасчетСреднегоЗаработка.Результат * ВЫБОР
	|								КОГДА РасчетСреднегоЗаработка.НормаПоПятидневке = 0
	|									ТОГДА 0
	|								ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноПоПятидневке / РасчетСреднегоЗаработка.НормаПоПятидневке
	|							КОНЕЦ
	|					ИНАЧЕ РасчетСреднегоЗаработка.Результат
	|				КОНЕЦ * ВЫБОР
	|					КОГДА РасчетСреднегоЗаработка.ЧислоМесяцев > РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка
	|						ТОГДА РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка / РасчетСреднегоЗаработка.ЧислоМесяцев
	|					ИНАЧЕ 1
	|				КОНЕЦ
	|		КОНЕЦ) КАК ВсегоУчтено,
	|	НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, МЕСЯЦ) КАК МесяцРасчетногоПериода,
	|	НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодКонец, МЕСЯЦ) КАК БазовыйПериодКонец,
	|	РасчетСреднегоЗаработка.ВидРасчета КАК ВидРасчета,
	|	СУММА(РасчетСреднегоЗаработка.Результат) КАК Результат,
	|	РасчетСреднегоЗаработка.ЧислоМесяцев КАК МесяцевПремии,
	|	ВЫБОР
	|		КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&Индексируемые)
	|			ТОГДА РасчетСреднегоЗаработка.КоэффициентИндексации
	|		ИНАЧЕ 1
	|	КОНЕЦ КАК КоэффициентИндексации,
	|	ВЫБОР
	|		КОГДА РасчетСреднегоЗаработка.НормаПоПятидневке = 0
	|			ТОГДА 0
	|		КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ФиксированныеПремии)
	|			ТОГДА РасчетСреднегоЗаработка.ОтработаноПоПятидневке / РасчетСреднегоЗаработка.НормаПоПятидневке
	|		ИНАЧЕ 0
	|	КОНЕЦ КАК ДоляВремени,
	|	ВЫБОР
	|		КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработок)
	|			ТОГДА 0
	|		ИНАЧЕ РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка
	|	КОНЕЦ КАК ПериодРасчетаСреднегоЗаработка
	|ИЗ
	|	РегистрРасчета.РасчетСреднегоЗаработка КАК РасчетСреднегоЗаработка
	|ГДЕ
	|	РасчетСреднегоЗаработка.Регистратор = &Регистратор
	|	И РасчетСреднегоЗаработка.СпособРасчета = &СпособРасчета
	|	И (РасчетСреднегоЗаработка.Результат <> 0
	|			ИЛИ РасчетСреднегоЗаработка.ОтработаноДней <> 0
	|			ИЛИ РасчетСреднегоЗаработка.ОтработаноЧасов <> 0)
	|
	|СГРУППИРОВАТЬ ПО
	|	НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, МЕСЯЦ),
	|	НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодКонец, МЕСЯЦ),
	|	РасчетСреднегоЗаработка.ЧислоМесяцев,
	|	РасчетСреднегоЗаработка.ВидРасчета,
	|	ВЫБОР
	|		КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&Индексируемые)
	|			ТОГДА РасчетСреднегоЗаработка.КоэффициентИндексации
	|		ИНАЧЕ 1
	|	КОНЕЦ,
	|	ВЫБОР
	|		КОГДА РасчетСреднегоЗаработка.НормаПоПятидневке = 0
	|			ТОГДА 0
	|		КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ФиксированныеПремии)
	|			ТОГДА РасчетСреднегоЗаработка.ОтработаноПоПятидневке / РасчетСреднегоЗаработка.НормаПоПятидневке
	|		ИНАЧЕ 0
	|	КОНЕЦ,
	|	ВЫБОР
	|		КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ОсновнойЗаработок)
	|			ТОГДА 0
	|		ИНАЧЕ РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка
	|	КОНЕЦ
	|
	|УПОРЯДОЧИТЬ ПО
	|	МесяцРасчетногоПериода,
	|	ПорядокЗаписей,
	|	ВидРасчета,
	|	МесяцевПремии,
	|	КоэффициентИндексации
	|ИТОГИ
	|	СУММА(ВсегоДнейРасчетногоПериода),
	|	СУММА(ВсегоЧасовРасчетногоПериода),
	|	СУММА(ВсегоУчтено)
	|ПО
	|	ОБЩИЕ";*/
			/*НачисленияТекст =
	"ВЫБРАТЬ
	|	ЕСТЬNULL(СУММА(ВЫБОР
	|				КОГДА Начисления.ВидРасчета В (ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.КомпенсацияОтпускаКалендарныеДни), ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.КомпенсацияОтпускаШестидневка))
	|					ТОГДА Начисления.Результат
	|				ИНАЧЕ 0
	|			КОНЕЦ), 0) КАК НачисленоКомпенсации,
	|	ЕСТЬNULL(СУММА(ВЫБОР
	|				КОГДА Начисления.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.ВыходноеПособие)
	|					ТОГДА Начисления.Результат
	|				ИНАЧЕ 0
	|			КОНЕЦ), 0) КАК НачисленоВыходноеПособие,
	|	ЕСТЬNULL(СУММА(ВЫБОР
	|				КОГДА Начисления.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.СохраняемыйЗаработокНаВремяТрудоустройства)
	|					ТОГДА Начисления.Результат
	|				ИНАЧЕ 0
	|			КОНЕЦ), 0) КАК НачисленСохраняемыйЗаработок,
	|	ЕСТЬNULL(СУММА(Начисления.Результат), 0) КАК ВсегоВыплат
	|ПОМЕСТИТЬ Начисления
	|ИЗ
	|	РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК Начисления
	|ГДЕ
	|	Начисления.Регистратор = &Регистратор
	|	И (НЕ Начисления.Сторно)
	|	И (НЕ Начисления.ВидРасчета В (ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.УдержаниеЗаНеотработанныйОтпускКалендарныеДни), ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.УдержаниеЗаНеотработанныйОтпускШестидневка)))
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	Начисления.НачисленоКомпенсации,
	|	Начисления.НачисленоВыходноеПособие,
	|	Начисления.НачисленСохраняемыйЗаработок,
	|	Начисления.НачисленоВыходноеПособие + Начисления.НачисленСохраняемыйЗаработок КАК НачисленоВыходноеПособиеСохраняемыйЗаработок,
	|	Начисления.ВсегоВыплат
	|ИЗ
	|	Начисления КАК Начисления";*/
			//ТабДокумент = Новый ТабличныйДокумент;
			//ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
			//ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РасчетПриУвольненииРаботникаОрганизаций_Т61";
			//Макет = ДокументОбъект.ПолучитьМакет("Т_61");
			//СекцияРасчетСреднего = Макет.ПолучитьОбласть("РасчетСреднего");
			//СекцияДополнительнаяСтрокаЗаработка = Макет.ПолучитьОбласть("ДополнительнаяСтрокаЗаработка");
			//СекцияЛицеваяСторона = Макет.ПолучитьОбласть("ЛицеваяСторона");
			//СекцияРасчетСреднегоИтого = Макет.ПолучитьОбласть("РасчетСреднегоИтого");
			//СекцияПодвал = Макет.ПолучитьОбласть("Подвал");
			//Запрос = Новый Запрос;
			//ФиксированныеПремии = Новый Массив(4);
			//ФиксированныеПремии[0] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиям;
			//ФиксированныеПремии[1] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиямНеИндексируемые;
			//ФиксированныеПремии[2] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремии;
			//ФиксированныеПремии[3] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремииНеИндексируемые;
			//ПоПремиям = Новый Массив(3);
			//ПоПремиям[0] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиям;
			//ПоПремиям[1] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиямИндексируемые;
			//ПоПремиям[2] = ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремииИндексируемые;
			//ПоФиксПремиямНеИндексируемые = Новый Массив(3);
			//ПоФиксПремиямНеИндексируемые[0] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремии;
			//ПоФиксПремиямНеИндексируемые[1] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремииНеИндексируемые;
			//ПоФиксПремиямНеИндексируемые[2] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиямНеИндексируемые;
			//ОсновнойЗаработок = Новый Массив(2);
			//ОсновнойЗаработок[0] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработку;
			//ОсновнойЗаработок[1] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые;
			//Индексируемые = Новый Массив(7);
			//Индексируемые[0] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые;
			//Индексируемые[1] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиямИндексируемые;
			//Индексируемые[2] = ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремииИндексируемые;
			//Индексируемые[3] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиям;
			//Индексируемые[4] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиям;
			//Индексируемые[5] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработку;
			//Индексируемые[6] = ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремии;
			//Запрос.УстановитьПараметр("Регистратор",			ДокументОбъект.Ссылка);
			//Запрос.УстановитьПараметр("СпособРасчета",			?(ДокументОбъект.ПорядокРасчетаОтпуска = Перечисления.ПорядокРасчетаОтпуска.ПоКалендарнымДням,Перечисления.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуДляОтпускаПоКалендарнымДням,Перечисления.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуДляОтпускаПоШестидневке));
			//Запрос.УстановитьПараметр("Индексируемые",			Индексируемые);
			//Запрос.УстановитьПараметр("ОсновнойЗаработок",		ОсновнойЗаработок);
			//Запрос.УстановитьПараметр("ОсновнойЗаработокНеиндексируемый", ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуНеИндексируемые);
			//Запрос.УстановитьПараметр("ПоФиксПремиям",			ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиям);
			//Запрос.УстановитьПараметр("ПоПремиям",				ПоПремиям);
			//Запрос.УстановитьПараметр("ФиксированныеПремии",	ФиксированныеПремии);
			//Запрос.УстановитьПараметр("ПоФиксПремиямНеИндексируемые", ПоФиксПремиямНеИндексируемые);
			/*// ВЫВОД ДАННЫХ В ОТЧЕТ
*/
			//ВыборкаПоШапкеДокумента = СформироватьЗапросПоШапкеДляПечати(ДокументОбъект).Выбрать();
			//ВыборкаПоШапкеДокумента.Следующий();
			/*// вывод лицевой стороны
*/
			//СекцияЛицеваяСторона.Параметры.Заполнить(ВыборкаПоШапкеДокумента);
			//ТабДокумент.Вывести(СекцияЛицеваяСторона);
			//ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
			/*// Выборка начисленных сумм 
*/
			//СекцияРасчетСреднего.Параметры.Заполнить(ВыборкаПоШапкеДокумента);
			//НачисленоКомпенсации = 0;
			//ВсегоВыплат = 0;
			//Запрос.Текст = НачисленияТекст;
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
				//НачисленоКомпенсации = Выборка.НачисленоКомпенсации;
				//ВсегоВыплат = Выборка.ВсегоВыплат;
				//СекцияПодвал.Параметры.Заполнить(Выборка);
				//СекцияРасчетСреднего.Параметры.Заполнить(Выборка);
			}
			/*// получим все другие начисления
*/
			//ДругиеНачисления 	= ПроведениеРасчетовДополнительный.ПолучитьДругиеНачисления(ДокументОбъект.Ссылка, ДокументОбъект.ПериодРегистрации, ДокументОбъект.Сотрудник);
			//ВсеДругиеНачисления = ДругиеНачисления.ДругиеНачисленияЗаТекущийМесяц + ДругиеНачисления.ДругиеНачисленияЗаБудущиеМесяцы;
			//ВсегоВыплат = ВсегоВыплат + ВсеДругиеНачисления;
			/*//заполним недостающие поля и поле "ВсегоВыплат"
*/
			//СекцияПодвал.Параметры.ВсеДругиеНачисления = ВсеДругиеНачисления;
			//СекцияПодвал.Параметры.ВсегоВыплат = ВсегоВыплат;
			/*// удержания за неиспользованный отпуск
*/
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	ЕСТЬNULL(СУММА(Удержания.Результат), 0) КАК Результат
	|ИЗ
	|	(ВЫБРАТЬ
	|		Удержания.Результат КАК Результат
	|	ИЗ
	|		РегистрРасчета.УдержанияРаботниковОрганизаций КАК Удержания
	|	ГДЕ
	|		Удержания.Регистратор = &Регистратор
	|		И (НЕ Удержания.Сторно)
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		-Начисления.Результат
	|	ИЗ
	|		РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК Начисления
	|	ГДЕ
	|		Начисления.Регистратор = &Регистратор
	|		И (НЕ Начисления.Сторно)
	|		И Начисления.ВидРасчета В (ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.УдержаниеЗаНеотработанныйОтпускКалендарныеДни), ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.УдержаниеЗаНеотработанныйОтпускШестидневка))) КАК Удержания";*/
			//УдержаниеЗаНеиспользованныйОтпуск = 0;
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
				//УдержаниеЗаНеиспользованныйОтпуск = Выборка.Результат;
			}
			if(true/*УдержаниеЗаНеиспользованныйОтпуск <> 0*/)
			{
				//СекцияРасчетСреднего.Параметры.НачисленоКомпенсации = УдержаниеЗаНеиспользованныйОтпуск;
			}
			/*// Вывод сведений о порядке расчета среднего заработка
*/
			/*// по окончательным данным проведенного документа
*/
			/*// собираем итоговые данные и рассчитываем средний заработок
*/
			//Запрос.Текст = РасчетСреднегоЗаработкаТекст;
			//ВыборкаСреднегоЗаработка = Запрос.Выполнить().Выбрать();
			//ОсновнойЗаработок = Новый Массив(3);
			//ОсновнойЗаработок[0] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработку;
			//ОсновнойЗаработок[1] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые;
			//ОсновнойЗаработок[2] = ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуНеИндексируемые;
			//НомерСтроки = 0;
			while(true/*ВыборкаСреднегоЗаработка.СледующийПоЗначениюПоля("МесяцРасчетногоПериода")*/)
			{
				if(true/*ВыборкаСреднегоЗаработка.ТипЗаписи() = ТипЗаписиЗапроса.ОбщийИтог*/)
				{
					//СекцияРасчетСреднего.Параметры.Заполнить(ВыборкаСреднегоЗаработка);
					//СекцияРасчетСреднегоИтого.Параметры.Заполнить(ВыборкаСреднегоЗаработка);
					if(true/*ВыборкаПоШапкеДокумента.ИспользоватьСреднеЧасовойЗаработок*/)
					{
						//СекцияРасчетСреднего.Параметры.ЗаработокЗаЕдиницуВремени = Окр(?(ВыборкаСреднегоЗаработка.ВсегоЧасовРасчетногоПериода = 0,0, ВыборкаСреднегоЗаработка.ВсегоУчтено / ВыборкаСреднегоЗаработка.ВсегоЧасовРасчетногоПериода),2);
					}
				}
			}
			if(true/*НомерСтроки < 12*/)
			{
				/*// вывод среднедневного (часового) заработка
*/
				//ТабДокумент.Вывести(СекцияРасчетСреднего);
			}
			/*// итого средний заработок
*/
			//ТабДокумент.Вывести(СекцияРасчетСреднегоИтого);
			/*// если зарплата расчет зарплаты выполнен, сумму ндфл возьмем по данным учета,
*/
			/*// если нет - расчитаем без учета льгот
*/
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	Удержания.СуммаУдержаний,
	|	НДФЛ.СуммаНалога
	|ИЗ
	|	(ВЫБРАТЬ
	|		СУММА(УдержанияРаботниковОрганизаций.Результат) КАК СуммаУдержаний
	|	ИЗ
	|		Документ.РасчетПриУвольненииРаботникаОрганизаций КАК РасчетПриУвольненииРаботникаОрганизаций
	|			ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.УдержанияРаботниковОрганизаций КАК УдержанияРаботниковОрганизаций
	|			ПО РасчетПриУвольненииРаботникаОрганизаций.Организация = УдержанияРаботниковОрганизаций.Организация
	|				И РасчетПриУвольненииРаботникаОрганизаций.Физлицо = УдержанияРаботниковОрганизаций.ФизЛицо
	|				И РасчетПриУвольненииРаботникаОрганизаций.ПериодРегистрации = УдержанияРаботниковОрганизаций.ПериодРегистрации
	|				И РасчетПриУвольненииРаботникаОрганизаций.Ссылка <> УдержанияРаботниковОрганизаций.Регистратор
	|	ГДЕ
	|		РасчетПриУвольненииРаботникаОрганизаций.Ссылка = &Регистратор) КАК Удержания,
	|	(ВЫБРАТЬ
	|		СУММА(НДФЛРасчетыСБюджетом.Налог) КАК СуммаНалога
	|	ИЗ
	|		Документ.РасчетПриУвольненииРаботникаОрганизаций КАК РасчетПриУвольненииРаботникаОрганизаций
	|			ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НДФЛРасчетыСБюджетом КАК НДФЛРасчетыСБюджетом
	|			ПО РасчетПриУвольненииРаботникаОрганизаций.Физлицо = НДФЛРасчетыСБюджетом.ФизЛицо
	|				И РасчетПриУвольненииРаботникаОрганизаций.Организация = НДФЛРасчетыСБюджетом.Организация
	|				И (НДФЛРасчетыСБюджетом.ВидСтроки = ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.Начисление))
	|				И (НДФЛРасчетыСБюджетом.Период МЕЖДУ НАЧАЛОПЕРИОДА(РасчетПриУвольненииРаботникаОрганизаций.ПериодРегистрации, МЕСЯЦ) И КОНЕЦПЕРИОДА(РасчетПриУвольненииРаботникаОрганизаций.ПериодРегистрации, МЕСЯЦ))
	|	ГДЕ
	|		РасчетПриУвольненииРаботникаОрганизаций.Ссылка = &Регистратор) КАК НДФЛ";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			//Выборка.Следующий();
			if(true/*НЕ (Выборка.СуммаНалога = Null И Выборка.СуммаУдержаний = Null)*/)
			{
				//СуммаНДФЛ 		= ?(Выборка.СуммаНалога 	= Null, 0, Выборка.СуммаНалога);
				//ПрочиеУдержания = ?(Выборка.СуммаУдержаний 	= Null, 0, Выборка.СуммаУдержаний);
			}
			//ПрочиеУдержания = ПрочиеУдержания + УдержаниеЗаНеиспользованныйОтпуск;
			//ВсегоУдержано = СуммаНДФЛ + ПрочиеУдержания;
			/*// начальное сальдо следует взять на дату начала периода расчета "других начислений"
*/
			//ПериодНачальногоСальдо = ?(ЗначениеЗаполнено(ДругиеНачисления.ПериодНачальногоСальдо) И ДругиеНачисления.ПериодНачальногоСальдо < ДокументОбъект.ДатаУвольнения, ДругиеНачисления.ПериодНачальногоСальдо, ДокументОбъект.ДатаУвольнения);
			/*// расчет конечного сальдо
*/
			//Запрос.УстановитьПараметр("Период",			ПериодНачальногоСальдо);
			//Запрос.УстановитьПараметр("ДатаУвольнения",	ДокументОбъект.ДатаУвольнения);
			//Запрос.УстановитьПараметр("Организация",	ДокументОбъект.Организация);
			//Запрос.УстановитьПараметр("Физлицо",		ДокументОбъект.Сотрудник.Физлицо);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток КАК НачальноеСальдо,
	|	ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК ВыплаченоЗаПериод
	|ИЗ
	|	РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.ОстаткиИОбороты(&Период, &ДатаУвольнения, , , Физлицо = &Физлицо И Организация  = &Организация) КАК ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты";*/
			//КонечноеСальдо 	   = 0;
			//КВыплате = Макс(0, ВсегоВыплат - ВсегоУдержано);
			//Выборка  = Запрос.Выполнить().Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
				//КонечноеСальдо = ?(Выборка.НачальноеСальдо = Null,0,Выборка.НачальноеСальдо) + ВсегоВыплат - ВсегоУдержано - ?(Выборка.ВыплаченоЗаПериод = Null,0,Выборка.ВыплаченоЗаПериод);
				if(true/*КонечноеСальдо > 0*/)
				{
					//СекцияПодвал.Параметры.ДолгЗаОрганизацией = КонечноеСальдо;
				}
			}
			//КВыплате = Макс(0, КонечноеСальдо);
			//СекцияПодвал.Параметры.СуммаНДФЛ						 = СуммаНДФЛ;
			//СекцияПодвал.Параметры.ПрочиеУдержания					 = ?(ПрочиеУдержания = 0, "", Формат(ПрочиеУдержания, "ЧЦ=15; ЧДЦ=2") + ?(УдержаниеЗаНеиспользованныйОтпуск = 0, "", " (" + Формат(УдержаниеЗаНеиспользованныйОтпуск, "ЧЦ=15; ЧДЦ=2") + ")"));
			//СекцияПодвал.Параметры.ВсегоУдержано					 = ВсегоУдержано;
			//СекцияПодвал.Параметры.КВыплате							 = КВыплате;
			//СекцияПодвал.Параметры.КВыплатеПрописью					 = ОбщегоНазначения.СформироватьСуммуПрописью(КВыплате, Константы.ВалютаРегламентированногоУчета.Получить());
			if(true/*КВыплате > 0*/)
			{
				//СекцияПодвал.Параметры.КВыплатеРублиКопейки = "(" + Цел(КВыплате)+ " руб. " + Окр((КВыплате - Цел(КВыплате)) * 100,0) + " коп.)";
			}
			//ТабДокумент.Вывести(СекцияПодвал);
			return null;
		}
		// ПечатьТ61()
	}
}
